# 组合数据结构：列表、元组、字典、集合

# 1.列表,crud,多种类型  可变
# l = ["Python",123,True,{1001:"张三"}]
# print(l)
# 另一种产生方式：list（可迭代对象），字符串、元组、集合、range（）等

# 字符串转列表
# a = list("人工智能是未来趋势")
# print(a)
# 元组转列表
# a=list(("中","国","我爱你"))
# print(a)

# 集合转列表
# a=list({"人","工","智能","是未来趋势"})
# print(a)

# for i in range(5): #range（起始数字默认0，结束数字，间隔默认1）
#     print(i)

# a= list(range(1,11,3))
# print(a)

# #列表性质
# ls = len(a) #元素个数  正反向索引、切片
# print(ls)

# print(a[:3])

# 列表拼接
# l1=list(range(1,5))
# l2=list(range(1,5,2))
# print(l1+l2)
# #n*list n倍复制
# print(3*[0])


# add
# a=["1",2,3]
# a.append("张三") #末尾添加
# print(a)
# a.insert(1,"张三11") #指定位置添加
# print(a)

# a1=[4,5,6]
# a1.extend(a) #在a1末尾添加
# print(a1)


# del
# a=["1",2,3]
# # a.pop() #默认删除最后一个元素
# # a.pop(1) #默认删除最后一个元素
# a.remove(2) #删除指定元素
# print(a)


# query
# a=["1",2,3]
# index = a.index(2)
# print(index)

# update
# a=["1",2,3]
# a[2]="hao"
# print(a)

# copy
# a = ["1", 2, 3]
# a1 = a.copy() #深拷贝
# a.pop()

# a2 = a[:]  #浅拷贝
# print(a)
# print(a1)
# print(a2)


# 排序
# l = [1, 323, 5, 2, 34, 5, 7, 8]
# # l.sort() #更改原列表  递增
# l.sort(reverse=True) #更改原列表  递减
# print(l)

# l1=sorted(l) #临时
# print(l)
# print(l1)


# 列表反转
# l=[1,2,3,4]
# # l.reverse()
# print(l[::-1])


# 元组：不可变的列表
# snos = ("1001", "1002")
# snames = ("张三", "李四")
# # 打包与解包
# # l=list(zip(snos,snames))
# # print(l)

# for sno, name in zip(snos, snames):
#     print(sno, name)


# 字典 k-v
'''
k:不可变类型
不可变类型:数字、字符串、元组
可变类型:列表、字典、集合

# '''
# stus = {1001: "lisi", 1002: "zhangsan"}

# print(len(stus))  # 键值对个数
# print(stus[1001])

# # add
# stus[1003] = "王五"
# print(stus)

# del
# del stus[1001]
# stus.pop(1001)
# stus.popitem() #随机删除
# print(stus)

# update1
# stus[1003]="王五1"
# print(stus)

# get
# print(stus.get(1,"未找到"))

# print(stus.keys())
# print(stus.values())

# for k,v in stus.items():
#     print(k,v)


# 集合 set  无序  元素必须是不可变类型  
# stus = {"张三", "李四", "王五", "张三"} #可以看做是没有值，或者值为None的字典
# print(stus)
#集合运算

# Chinese_A={"江德福","江德华","安杰","安然"}
# Math_A={"江德福","江德华","安诺"}

# A=Chinese_A&Math_A  #求交集
# print(A)
# A=Chinese_A^Math_A  #求非交集
# print(A)

# A=Chinese_A|Math_A  #求并集
# print(A)

# A=Chinese_A-Math_A  #求差集
# print(A)


#add
s={1,2,3,4,5}
# s.add(7)
# s.add("8")
# print(s)

#del
# s.remove(2)
# print(s)

#len
print(len(s))

#for
for s1 in s:
    print(s1)